With the popularization of cloud computing technologies, cloud storage is becoming increasingly closer to the life of people. Cloud storage suppliers also increase year by year. At present, a quantity of suppliers in the industry is nearly 200. Data can be stored on a remote cloud storage system; therefore, demands on local storage can be greatly reduced. However, cloud storage still faces various problems, for example, how to use the lowest cost to provide the highest reliability for user data, and how to guarantee security of the user data and prevent the user data from being stolen, encrypted, or the like.
To guarantee the security of the user data, same data can be replicated into multiple replications and stored on different storage nodes. If an error occurs on a certain storage node, a user can acquire the data as long as one storage node exists. For example, if three replications are produced, a space waste rate reaches 3 times of that of the original data. For the cloud storage suppliers, adopting a replication seriously wastes a storage space, and causes a very high cost.
To improve storage space utilization, an erasure code which is a generally used data redundancy correction algorithm can be adopted to replace the replication. Reed Solomon Code is the most famous Erasure Code, which multiplies a GF matrix by the data to obtain a check code. However, for a computer Central Processing Unit (CPU), performance of multiplication is very low; therefore, the Reed Solomon Code algorithm has relatively low performance. In addition, at present, a maximum bit width of data in the Reed Solomon Code algorithm is 32 bits, which greatly limits the performance because a larger bit width means higher performance.
Besides, EVENODD proposed by IBM in early stage is an algorithm having a redundancy rate of 2 (possessing two groups of parity data) and aiming at a redundant array of independent disks (RAID), redundant array of independent disks) system. Cheng Huang and Lihao Xu proposed a STAR algorithm (a parity with a slope of −1 is added) that extends the redundancy rate of EVENODD to 3 (possessing three groups of parity data).
When three data storage nodes (that is, three data disks) are lost, adopting EVENODD and STAR recovery algorithms is complex, and the algorithms are difficult to implement by using coding. When two data storage nodes and a horizontal parity node (that is, two data disks, horizontal correcting disk) are lost, data on the horizontal parity node needs to be recovered first, and then original data on the data storage nodes is recovered; therefore, recovery performance is low, and the algorithm is not easy to implement by using coding.